#ifndef ENTITYNOTPROCESSED_H_
#define ENTITYNOTPROCESSED_H_
#include <vector>
#include "IRecordable.h"
using namespace std;

namespace Entities {

enum EntityType {
	Title = 1, Author = 2, Publisher = 4, Words = 8
};

class EntityNotProcessed: public IRecordable {

private:

	unsigned int ID;
	EntityType type;
	vector<int>* booksOffsets;

public:

	EntityNotProcessed(EntityType type);
	EntityNotProcessed(unsigned int ID, EntityType type);

	vector<int> *getBooksOffsets() const;
	EntityType getType() const;
	void setType(EntityType type);
	void addOffset(int bookOffset);

	//IRecordable methods
	virtual void fillEntity(char *buffer, unsigned int bufferSize);
	virtual char* buildBuffer();
	virtual unsigned int getBufferSize();
	virtual unsigned int getEntityID();
	virtual void setEntityID(unsigned int entityID);
	virtual ~EntityNotProcessed();

};

}
#endif /* ENTITYNOTPROCESSED_H_ */
